<?php


namespace EchoPHP\Foundation;


abstract class ServiceProvider {


    protected $app;

    protected $defer = false;

    public $bindings = [];
    public $singletons = [];

    /**
     * 创建服务提供者实例
     * @param \EchoPhp\Foundation\Application $app app应用实例
     * @return void
     */
    public function __construct($app) {
        $this->app = $app;
    }

    /**
     * 注册应用程序的服务提供者
     */
    public function register() {

    }

    /**
     * 返回延时服务提供者的服务名合集
     * @return array
     */
    public function provides() {
        return [];
    }

    /**
     * 判断是否延时服务提供者
     * @return bool
     */
    public function isDeferred() {
        return $this->defer;
    }


}